package character;
//String的两个常用类
//StringBuffer 和 StringBuilder  从内部方法上 基本一致的
public class TTstring {
    public static String func2(){
        StringBuilder sb = new StringBuilder("jasdn");
        return sb.toString();//StringBuffer或者StringBuilder->String 需要调用toString方法
    }
    public static StringBuilder func(){
        String str = "sadjk";
        //或者
        StringBuilder sb = new StringBuilder();
        sb.append(str);
        return sb;
        //return new StringBuilder(str);//String->StringBuffer或者StringBuilder要是用构造方法
    }
    public static void main(String[] args) {
        StringBuilder s = new StringBuilder();//也可以不在后面写
        s.append("afsads");//把这个字符串放在这个对象里面
        s.append("1512");//或者可以后面直接·append（）也是一样的   这个会拼接在后面
        System.out.println(s);//默认toString方法
        //普通的String拼接 底层会被优化为StringBuilder 通过append拼接
        StringBuilder sb = new StringBuilder();
        sb.append("hhhhh");//如果在循环里面进行字符串的拼接  尽量不要使用String 优先使用StringBuilder和StringBuffer
        for (int i = 0; i < 10; i++) {
            sb.append(i);//可以不用再一个一个加了 使用StringBuilder来拼接
        }
        String h = sb.toString();
        System.out.println(h);
        StringBuilder sh = new StringBuilder("sajdhajdsa");
        sh.reverse();//直接反转
        System.out.println(sh);
        //StringBuffer实现了synchronized这个接口   这个接口就像一个锁一样   一般多线程的时候使用这个StringBuffer
    }
}
